package com.fowo.api.model.transaction.report.reconciliation;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 交易报告对账 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class TransactionReportReconciliationImportPo {

  /** 店铺 */
  @ExcelProperty("店铺")
  @Size(max = 50, message = "店铺长度不能超过50")
  private String storeShopName;

  @ExcelIgnore
  @Schema(title = "店铺")
  private String store;

  /** 国家 */
  @ExcelProperty("国家")
  @Size(max = 50, message = "国家长度不能超过50")
  private String stationName;

  @ExcelIgnore
  @Schema(title = "国家")
  private String station;

  /** 报告类型 */
  @ExcelProperty("报告类型")
  private String reportType;

  /** 报告区间 */
  @ExcelProperty("报告区间")
  @Size(max = 50, message = "报告区间长度不能超过50")
  private String reportingInterval;

  /** 对账结果 */
  @ExcelProperty("对账结果")
  private String reconciliationResults;

  /** 币种 */
  @ExcelProperty("币种")
  @Size(max = 50, message = "币种长度不能超过50")
  private String currencyType;

  /** 差异小计 */
  @ExcelProperty("差异小计")
  @DecimalString(message = "差异小计小数格式不正确", label = "差异小计")
  private String subtotalOfDifferences;

  /** 差异原因分析 */
  @ExcelProperty("差异原因分析")
  @Size(max = 500, message = "差异原因分析长度不能超过500")
  private String analysisOfReasonsForDifferences;

  /** 收入(S/T) */
  @ExcelProperty("收入(S/T)")
  @DecimalString(message = "收入(S/T)小数格式不正确", label = "收入(S/T)")
  private String revenue;

  /** 差异 */
  @ExcelProperty("差异")
  private String difference;

  /** 支出(S/T) */
  @ExcelProperty("支出(S/T)")
  @DecimalString(message = "支出(S/T)小数格式不正确", label = "支出(S/T)")
  private String expenditure;

  /** 税费(S/T) */
  @ExcelProperty("税费(S/T)")
  @DecimalString(message = "税费(S/T)小数格式不正确", label = "税费(S/T)")
  private String taxesAndFees;

  /** 转账(S/T) */
  @ExcelProperty("转账(S/T)")
  @DecimalString(message = "转账(S/T)小数格式不正确", label = "转账(S/T)")
  private String transfer;
}
